package com.situ.mall.product.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.situ.mall.pojo.entity.order.OrderItem;
import com.situ.mall.pojo.entity.product.Product;
import com.baomidou.mybatisplus.extension.service.IService;
import com.situ.mall.product.pojo.query.ProductQuery;
import com.situ.mall.product.pojo.vo.ProductCountVO;
import com.situ.mall.product.pojo.vo.ProductVO;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 商品 服务类
 * </p>
 *
 * @author Sun Huijuan
 * @since 2024-10-09
 */
public interface IProductService extends IService<Product> {
	
	IPage<ProductVO> selectList(ProductQuery productQuery);
	
	void exportExcel(HttpServletResponse response);
	
	void importExcel(MultipartFile file);
	
	List<Product> selectPromoProduct(String categoryName);
	
	List<Product> getHotProduct(List<String> categoryList);
	
	Product selectById(Long id);
	
	void update(Product product);
	
	void payment(List<OrderItem> orderItemList);
	
	List<ProductCountVO> selectHotProduct();
	
	List<Product> selectProductList(Long id);
}
